/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Objects;

import Interfaces.UserInterface;
import Tools.Protector;
import Tools.Tools;
import java.sql.ResultSet;

/**
 *
 * @author ARMGARCES
 */
public class Usuario implements UserInterface{
    private int idUser;
    private String nombre1;
    private String nombre2;
    private String apellido1;
    private String apellido2;
    private String username;
    private String pswd;
    private int status;
    private Rol rol;
    
    /**
     * 
     */
    public Usuario() {
        
    }
    /**
     * 
     * @param rs 
     * @return  
     */
    @Override
    public UserInterface loadResultSet(ResultSet rs){
        try{            
        //Datos del Usuario
        idUser              = rs.getInt(1);
        username            = rs.getString(2);
        nombre1             = rs.getString(3);
        nombre2             = rs.getString(4);
        apellido1           = rs.getString(5);
        apellido2           = rs.getString(6);
        //Datos del Rol del Usuario
        Rol obj = new Rol();
        obj.setIdRol( rs.getInt(9));
        obj.setNombre(rs.getString(10));
        obj.setAbrev( rs.getString(11));
        rol = obj;        
        //Desencriptacion de la Contraseña del usuario
        String salt = java.util.ResourceBundle.getBundle("BD/DBcon").getString("dns");
        pswd      = Protector.decrypt(rs.getString(7), salt);
        status    = rs.getInt(8);                
        }catch(Exception e){
            Tools.getErrorMessage(e.getStackTrace(),e.getMessage());           
        }
        return this;
    }

    /**
     * @return the idUser
     */
    @Override
    public String getId() {
        return username;
    }
    
    /**
     * @return the idUser
     */
    public int getIdUser() {
        return idUser;
    }

    /**
     * @param idUser the idUser to set
     */
    public void setIdUser(int idUser) {
        this.idUser = idUser;
    }


    /**
     * @return the nombre1
     */
    public String getNombre1() {
        return nombre1;
    }

    /**
     * @param nombre1 the nombre1 to set
     */
    public void setNombre1(String nombre1) {
        this.nombre1 = nombre1;
    }

    /**
     * @return the nombre2
     */
    public String getNombre2() {
        return nombre2;
    }

    /**
     * @param nombre2 the nombre2 to set
     */
    public void setNombre2(String nombre2) {
        this.nombre2 = nombre2;
    }

    /**
     * @return the apellido1
     */
    public String getApellido1() {
        return apellido1;
    }

    /**
     * @param apellido1 the apellido1 to set
     */
    public void setApellido1(String apellido1) {
        this.apellido1 = apellido1;
    }

    /**
     * @return the apellido2
     */
    public String getApellido2() {
        return apellido2;
    }

    /**
     * @param apellido2 the apellido2 to set
     */
    public void setApellido2(String apellido2) {
        this.apellido2 = apellido2;
    }

    /**
     * @return the username
     */
    public String getUsername() {
        return username;
    }

    /**
     * @param username the username to set
     */
    public void setUsername(String username) {
        this.username = username;
    }

    /**
     * @return the pswd
     */
    public String getPswd() {
        return pswd;
    }

    /**
     * @param pswd the pswd to set
     */
    public void setPswd(String pswd) {
        this.pswd = pswd;
    }

    /**
     * @return the status
     */
    @Override
    public int getStatus() {
        return status;
    }

    /**
     * @param status the status to set
     */
    public void setStatus(int status) {
        this.status = status;
    }
    
    /**
     * @return 
     */
    public Rol getRol() {
        return rol;
    }

    /**
     * @param _rol
     */
    public void setRol(Rol _rol) {
        this.rol = _rol;
    }

    @Override
    public String toString(){
        return username +" / "+nombre1;
    }
}

